package com.campusexpresspickup.service;

import com.campusexpresspickup.entity.OauthRole;
import com.campusexpresspickup.entity.UserMenu;
import com.baomidou.mybatisplus.extension.service.IService;
import com.campusexpresspickup.entity.UserResource;
import java.util.List;
import org.springframework.transaction.annotation.Transactional;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author lq
 * @since 2021-11-15
 */
public interface IOauthRoleService extends IService<OauthRole> {

  /**
   * 分页获取角色列表
   */
  List<OauthRole> list(String keyword, Integer pageSize, Integer pageNum);

  /**
   * 根据管理员ID获取对应菜单
   */
  List<UserMenu> getMenuList(Integer userId);

  /**
   * 获取角色相关菜单
   */
  List<UserMenu> listMenu(Integer roleId);

  /**
   * 获取角色相关资源
   */
  List<UserResource> listResource(Integer roleId);

  /**
   * 给角色分配菜单
   */
  @Transactional
  int allocMenu(Integer roleId, List<Integer> menuIds);

  /**
   * 给角色分配资源
   */
  @Transactional
  int allocResource(Integer roleId, List<Integer> resourceIds);


}
